<!-- HTML header for doxygen 1.8.13-->
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="icon" type="image/x-icon" href="favicon.ico" />
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.13"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>chigraph: chi::GraphFunction Struct Reference</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="chigraphDoxygenIcon.png"/></td>
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">chigraph
   &#160;<span id="projectnumber">master</span>
   </div>
   <div id="projectbrief">Systems programming language written for beginners in LLVM</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.13 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
$(function() {
  initMenu('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('structchi_1_1GraphFunction.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
</div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="structchi_1_1GraphFunction-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">chi::GraphFunction Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>this is an AST-like representation of a function in a graph It is used for IDE-like behavior, codegen, and JSON generation.  
 <a href="structchi_1_1GraphFunction.html#details">More...</a></p>

<p><code>#include &lt;<a class="el" href="GraphFunction_8hpp_source.html">chi/GraphFunction.hpp</a>&gt;</code></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a44459c33f26a8f4d9529619991988100"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a44459c33f26a8f4d9529619991988100">GraphFunction</a> (<a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;mod, std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; dataIns, std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; dataOuts, std::vector&lt; std::string &gt; execIns, std::vector&lt; std::string &gt; execOuts)</td></tr>
<tr class="memdesc:a44459c33f26a8f4d9529619991988100"><td class="mdescLeft">&#160;</td><td class="mdescRight">Construct a graph&ndash;don't call this directly use GraphModule::getorCreateFunction.  <a href="#a44459c33f26a8f4d9529619991988100">More...</a><br /></td></tr>
<tr class="separator:a44459c33f26a8f4d9529619991988100"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a855efc86e0d6ffd7a0804e859b9e8259"><td class="memItemLeft" align="right" valign="top"><a id="a855efc86e0d6ffd7a0804e859b9e8259"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GraphFunction</b> (const <a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;)=delete</td></tr>
<tr class="separator:a855efc86e0d6ffd7a0804e859b9e8259"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a63d35f776502075e2cee9745cdc11044"><td class="memItemLeft" align="right" valign="top"><a id="a63d35f776502075e2cee9745cdc11044"></a>
&#160;</td><td class="memItemRight" valign="bottom"><b>GraphFunction</b> (<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;&amp;)=delete</td></tr>
<tr class="separator:a63d35f776502075e2cee9745cdc11044"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89c896ae804c853b4c291897f5f8634c"><td class="memItemLeft" align="right" valign="top"><a id="a89c896ae804c853b4c291897f5f8634c"></a>
&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a89c896ae804c853b4c291897f5f8634c">~GraphFunction</a> ()=default</td></tr>
<tr class="memdesc:a89c896ae804c853b4c291897f5f8634c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Destructor. <br /></td></tr>
<tr class="separator:a89c896ae804c853b4c291897f5f8634c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aca401237496ae311e43c7a43519e4720"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Context.html">Context</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aca401237496ae311e43c7a43519e4720">context</a> () const</td></tr>
<tr class="memdesc:aca401237496ae311e43c7a43519e4720"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the context.  <a href="#aca401237496ae311e43c7a43519e4720">More...</a><br /></td></tr>
<tr class="separator:aca401237496ae311e43c7a43519e4720"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a1d740529978bdf31284b6b815ec0426b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a1d740529978bdf31284b6b815ec0426b">createEntryNodeType</a> (std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *toFill) const</td></tr>
<tr class="memdesc:a1d740529978bdf31284b6b815ec0426b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a fresh <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> for an entry.  <a href="#a1d740529978bdf31284b6b815ec0426b">More...</a><br /></td></tr>
<tr class="separator:a1d740529978bdf31284b6b815ec0426b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af14ad950cfff4ad3091827f9b6ad1cd2"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#af14ad950cfff4ad3091827f9b6ad1cd2">createExitNodeType</a> (std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *toFill) const</td></tr>
<tr class="memdesc:af14ad950cfff4ad3091827f9b6ad1cd2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a fresh <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> for an exit.  <a href="#af14ad950cfff4ad3091827f9b6ad1cd2">More...</a><br /></td></tr>
<tr class="separator:af14ad950cfff4ad3091827f9b6ad1cd2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad261ccd66a6fcbf6492cf6565e365d0e"><td class="memItemLeft" align="right" valign="top">const std::string &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ad261ccd66a6fcbf6492cf6565e365d0e">description</a> () const</td></tr>
<tr class="memdesc:ad261ccd66a6fcbf6492cf6565e365d0e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the description of the function.  <a href="#ad261ccd66a6fcbf6492cf6565e365d0e">More...</a><br /></td></tr>
<tr class="separator:ad261ccd66a6fcbf6492cf6565e365d0e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa2c89c659786c9928a616a81dab267e4"><td class="memItemLeft" align="right" valign="top">llvm::FunctionType *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aa2c89c659786c9928a616a81dab267e4">functionType</a> () const</td></tr>
<tr class="memdesc:aa2c89c659786c9928a616a81dab267e4"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the LLVM function type for the function.  <a href="#aa2c89c659786c9928a616a81dab267e4">More...</a><br /></td></tr>
<tr class="separator:aa2c89c659786c9928a616a81dab267e4"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0564412e260698bdb3872d3d12dfc3bc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a0564412e260698bdb3872d3d12dfc3bc">module</a> () const</td></tr>
<tr class="memdesc:a0564412e260698bdb3872d3d12dfc3bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the <a class="el" href="structchi_1_1GraphModule.html" title="Module that holds graph functions. ">GraphModule</a> that contains this <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>.  <a href="#a0564412e260698bdb3872d3d12dfc3bc">More...</a><br /></td></tr>
<tr class="separator:a0564412e260698bdb3872d3d12dfc3bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a89069f6e08f71cfbafb245ea16c8d69f"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a> () const</td></tr>
<tr class="memdesc:a89069f6e08f71cfbafb245ea16c8d69f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the name of the function.  <a href="#a89069f6e08f71cfbafb245ea16c8d69f">More...</a><br /></td></tr>
<tr class="separator:a89069f6e08f71cfbafb245ea16c8d69f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aeb27b10bbc9bcb1f7e33d7e1b4380a92"><td class="memItemLeft" align="right" valign="top"><a id="aeb27b10bbc9bcb1f7e33d7e1b4380a92"></a>
<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (const <a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;)=delete</td></tr>
<tr class="separator:aeb27b10bbc9bcb1f7e33d7e1b4380a92"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a52984a701c067f8ef391cff882a53600"><td class="memItemLeft" align="right" valign="top"><a id="a52984a701c067f8ef391cff882a53600"></a>
<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;&#160;</td><td class="memItemRight" valign="bottom"><b>operator=</b> (<a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a> &amp;&amp;)=delete</td></tr>
<tr class="separator:a52984a701c067f8ef391cff882a53600"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ad739c826ed87035857193995c23cabe2"><td class="memItemLeft" align="right" valign="top">std::string&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ad739c826ed87035857193995c23cabe2">qualifiedName</a> () const</td></tr>
<tr class="memdesc:ad739c826ed87035857193995c23cabe2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the qualified name of the function Same as <a class="el" href="structchi_1_1GraphFunction.html#a0564412e260698bdb3872d3d12dfc3bc" title="Get the GraphModule that contains this GraphFunction. ">module()</a>.fullName() + ":" + <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f" title="Get the name of the function. ">name()</a>;.  <a href="#ad739c826ed87035857193995c23cabe2">More...</a><br /></td></tr>
<tr class="separator:ad739c826ed87035857193995c23cabe2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:afdcae25278b1de714d77cf8051172cdf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#afdcae25278b1de714d77cf8051172cdf">setDescription</a> (std::string newDesc)</td></tr>
<tr class="memdesc:afdcae25278b1de714d77cf8051172cdf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the description of the function.  <a href="#afdcae25278b1de714d77cf8051172cdf">More...</a><br /></td></tr>
<tr class="separator:afdcae25278b1de714d77cf8051172cdf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a27c87614be4357e97c1ececd2228f865"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a27c87614be4357e97c1ececd2228f865">setName</a> (boost::string_view newName, bool updateReferences=true)</td></tr>
<tr class="memdesc:a27c87614be4357e97c1ececd2228f865"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set the name of the function.  <a href="#a27c87614be4357e97c1ececd2228f865">More...</a><br /></td></tr>
<tr class="separator:a27c87614be4357e97c1ececd2228f865"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Node Manipulation</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Functions for mainpulating nodes; getting, adding </p>
</div></td></tr>
<tr class="memitem:aa5985d96d7564d7ee7f240fdb02b41a6"><td class="memItemLeft" align="right" valign="top">std::unordered_map&lt; boost::uuids::uuid, std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aa5985d96d7564d7ee7f240fdb02b41a6">nodes</a> ()</td></tr>
<tr class="memdesc:aa5985d96d7564d7ee7f240fdb02b41a6"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the nodes in the function Usually called by connectData or connectExec or <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>.  <a href="#aa5985d96d7564d7ee7f240fdb02b41a6">More...</a><br /></td></tr>
<tr class="separator:aa5985d96d7564d7ee7f240fdb02b41a6"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a900c0b670ad04a76b6add803ade7ae0d"><td class="memItemLeft" align="right" valign="top">const std::unordered_map&lt; boost::uuids::uuid, std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> &gt; &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a900c0b670ad04a76b6add803ade7ae0d">nodes</a> () const</td></tr>
<tr class="memdesc:a900c0b670ad04a76b6add803ade7ae0d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the nodes in the function Usually called by connectData or connectExec or <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>.  <a href="#a900c0b670ad04a76b6add803ade7ae0d">More...</a><br /></td></tr>
<tr class="separator:a900c0b670ad04a76b6add803ade7ae0d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:acb3281f6b313b7070efb0ee84b937523"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#acb3281f6b313b7070efb0ee84b937523">nodeByID</a> (const boost::uuids::uuid &amp;id) const</td></tr>
<tr class="memdesc:acb3281f6b313b7070efb0ee84b937523"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a node with a given ID.  <a href="#acb3281f6b313b7070efb0ee84b937523">More...</a><br /></td></tr>
<tr class="separator:acb3281f6b313b7070efb0ee84b937523"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ae47496f51bd5ba48bc0afd52f03ef722"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ae47496f51bd5ba48bc0afd52f03ef722">entryNode</a> () const noexcept</td></tr>
<tr class="memdesc:ae47496f51bd5ba48bc0afd52f03ef722"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the node with type lang:entry returns nullptr on failure Also returns nullptr if there are two entry nodes, which is illegal.  <a href="#ae47496f51bd5ba48bc0afd52f03ef722">More...</a><br /></td></tr>
<tr class="separator:ae47496f51bd5ba48bc0afd52f03ef722"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ac75470b92fcf30495c7daab64d999ed8"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ac75470b92fcf30495c7daab64d999ed8">insertNode</a> (std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; type, float x, float y, boost::uuids::uuid id=boost::uuids::random_generator()(), <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **toFill=nullptr)</td></tr>
<tr class="memdesc:ac75470b92fcf30495c7daab64d999ed8"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a node to the graph.  <a href="#ac75470b92fcf30495c7daab64d999ed8">More...</a><br /></td></tr>
<tr class="separator:ac75470b92fcf30495c7daab64d999ed8"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a56ba667341ecc6fce1e290cce6aedf53"><td class="memItemLeft" align="right" valign="top">std::vector&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a56ba667341ecc6fce1e290cce6aedf53">nodesWithType</a> (const boost::filesystem::path &amp;<a class="el" href="structchi_1_1GraphFunction.html#a0564412e260698bdb3872d3d12dfc3bc">module</a>, boost::string_view <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>) const noexcept</td></tr>
<tr class="memdesc:a56ba667341ecc6fce1e290cce6aedf53"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the nodes with a given type.  <a href="#a56ba667341ecc6fce1e290cce6aedf53">More...</a><br /></td></tr>
<tr class="separator:a56ba667341ecc6fce1e290cce6aedf53"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abcd2e1de52782e5a16aca65b9af328ca"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#abcd2e1de52782e5a16aca65b9af328ca">insertNode</a> (const boost::filesystem::path &amp;moduleName, boost::string_view typeName, const nlohmann::json &amp;typeJSON, float x, float y, boost::uuids::uuid id=boost::uuids::random_generator()(), <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **toFill=nullptr)</td></tr>
<tr class="memdesc:abcd2e1de52782e5a16aca65b9af328ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add a node to the graph using module, type, and json.  <a href="#abcd2e1de52782e5a16aca65b9af328ca">More...</a><br /></td></tr>
<tr class="separator:abcd2e1de52782e5a16aca65b9af328ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a2248f5089ddc01a46b9ba4129925a44c"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a2248f5089ddc01a46b9ba4129925a44c">removeNode</a> (<a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> &amp;nodeToRemove)</td></tr>
<tr class="memdesc:a2248f5089ddc01a46b9ba4129925a44c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a node from the function.  <a href="#a2248f5089ddc01a46b9ba4129925a44c">More...</a><br /></td></tr>
<tr class="separator:a2248f5089ddc01a46b9ba4129925a44c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0e722c9bae3101c4bb54ad9baae6f841"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1Result.html">Result</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a0e722c9bae3101c4bb54ad9baae6f841">getOrInsertEntryNode</a> (float x, float y, boost::uuids::uuid id=boost::uuids::random_generator()(), <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **toFill=nullptr)</td></tr>
<tr class="memdesc:a0e722c9bae3101c4bb54ad9baae6f841"><td class="mdescLeft">&#160;</td><td class="mdescRight">Creates an entry node if it doesn't already exist, else just return it.  <a href="#a0e722c9bae3101c4bb54ad9baae6f841">More...</a><br /></td></tr>
<tr class="separator:a0e722c9bae3101c4bb54ad9baae6f841"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Data input modifiers</div></td></tr>
<tr class="memitem:ab457f58fbb96c8089340b4ebd43cb633"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ab457f58fbb96c8089340b4ebd43cb633">dataInputs</a> () const</td></tr>
<tr class="memdesc:ab457f58fbb96c8089340b4ebd43cb633"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the function data inputs in the format {type, docstring}.  <a href="#ab457f58fbb96c8089340b4ebd43cb633">More...</a><br /></td></tr>
<tr class="separator:ab457f58fbb96c8089340b4ebd43cb633"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ab2b04efa795ef12d628f13ff55e55043"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ab2b04efa795ef12d628f13ff55e55043">addDataInput</a> (const <a class="el" href="structchi_1_1DataType.html">DataType</a> &amp;type, std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, size_t addBefore=(std::numeric_limits&lt; size_t &gt;::max)())</td></tr>
<tr class="memdesc:ab2b04efa795ef12d628f13ff55e55043"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an input to the end of the argument list.  <a href="#ab2b04efa795ef12d628f13ff55e55043">More...</a><br /></td></tr>
<tr class="separator:ab2b04efa795ef12d628f13ff55e55043"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:abac77d34a4bf04d7c409655b0b3e89d0"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#abac77d34a4bf04d7c409655b0b3e89d0">removeDataInput</a> (size_t idx)</td></tr>
<tr class="memdesc:abac77d34a4bf04d7c409655b0b3e89d0"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an input from the argument list Also removes invalid connections If idx is out of range, this function does nothing.  <a href="#abac77d34a4bf04d7c409655b0b3e89d0">More...</a><br /></td></tr>
<tr class="separator:abac77d34a4bf04d7c409655b0b3e89d0"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4bb426c921d46bbd8cbf237d716bc1c5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a4bb426c921d46bbd8cbf237d716bc1c5">renameDataInput</a> (size_t idx, std::string newName)</td></tr>
<tr class="memdesc:a4bb426c921d46bbd8cbf237d716bc1c5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename a data input This also updates the entry node If idx is out of range, this function does nothing.  <a href="#a4bb426c921d46bbd8cbf237d716bc1c5">More...</a><br /></td></tr>
<tr class="separator:a4bb426c921d46bbd8cbf237d716bc1c5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa69ea8953b3c1b9da14a5364c747e49b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aa69ea8953b3c1b9da14a5364c747e49b">retypeDataInput</a> (size_t idx, <a class="el" href="structchi_1_1DataType.html">DataType</a> newType)</td></tr>
<tr class="memdesc:aa69ea8953b3c1b9da14a5364c747e49b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the type of a data input This also updates the entry node and disconnects invalid connections.  <a href="#aa69ea8953b3c1b9da14a5364c747e49b">More...</a><br /></td></tr>
<tr class="separator:aa69ea8953b3c1b9da14a5364c747e49b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Data output modifiers</div></td></tr>
<tr class="memitem:ab0bf0d819ff062c01220614f617d5965"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ab0bf0d819ff062c01220614f617d5965">dataOutputs</a> () const</td></tr>
<tr class="memdesc:ab0bf0d819ff062c01220614f617d5965"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the function data outputs in the format {type, docstring}.  <a href="#ab0bf0d819ff062c01220614f617d5965">More...</a><br /></td></tr>
<tr class="separator:ab0bf0d819ff062c01220614f617d5965"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aef07b609586e0961cc16d0000362470d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aef07b609586e0961cc16d0000362470d">addDataOutput</a> (const <a class="el" href="structchi_1_1DataType.html">DataType</a> &amp;type, std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, size_t addBefore=(std::numeric_limits&lt; size_t &gt;::max)())</td></tr>
<tr class="memdesc:aef07b609586e0961cc16d0000362470d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an data output to the end of the argument list.  <a href="#aef07b609586e0961cc16d0000362470d">More...</a><br /></td></tr>
<tr class="separator:aef07b609586e0961cc16d0000362470d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a65db0e7550128544600ebb1fff4bd69c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a65db0e7550128544600ebb1fff4bd69c">removeDataOutput</a> (size_t idx)</td></tr>
<tr class="memdesc:a65db0e7550128544600ebb1fff4bd69c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an data output from the argument list Also removes invalid connections If idx is out of range, this function does nothing.  <a href="#a65db0e7550128544600ebb1fff4bd69c">More...</a><br /></td></tr>
<tr class="separator:a65db0e7550128544600ebb1fff4bd69c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a8b31017553adfc52ad6140868c328fbd"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a8b31017553adfc52ad6140868c328fbd">renameDataOutput</a> (size_t idx, std::string newName)</td></tr>
<tr class="memdesc:a8b31017553adfc52ad6140868c328fbd"><td class="mdescLeft">&#160;</td><td class="mdescRight">Modify an data output (change it's type and docstring)  <a href="#a8b31017553adfc52ad6140868c328fbd">More...</a><br /></td></tr>
<tr class="separator:a8b31017553adfc52ad6140868c328fbd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a7772a0180716a2c29436d086d757743e"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a7772a0180716a2c29436d086d757743e">retypeDataOutput</a> (size_t idx, <a class="el" href="structchi_1_1DataType.html">DataType</a> newType)</td></tr>
<tr class="memdesc:a7772a0180716a2c29436d086d757743e"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the type of a data output This also updates all exit nodes and disconnects invalid connections.  <a href="#a7772a0180716a2c29436d086d757743e">More...</a><br /></td></tr>
<tr class="separator:a7772a0180716a2c29436d086d757743e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Exec input modifiers</div></td></tr>
<tr class="memitem:a64fa4eceaf024d3ebf628fe15e7ca9be"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a64fa4eceaf024d3ebf628fe15e7ca9be">execInputs</a> () const</td></tr>
<tr class="memdesc:a64fa4eceaf024d3ebf628fe15e7ca9be"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the function exec inputs.  <a href="#a64fa4eceaf024d3ebf628fe15e7ca9be">More...</a><br /></td></tr>
<tr class="separator:a64fa4eceaf024d3ebf628fe15e7ca9be"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:aa19f446296aa429b583cad3c044d780c"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#aa19f446296aa429b583cad3c044d780c">addExecInput</a> (std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, size_t addBefore=(std::numeric_limits&lt; size_t &gt;::max)())</td></tr>
<tr class="memdesc:aa19f446296aa429b583cad3c044d780c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an exec input to the end of the argument list.  <a href="#aa19f446296aa429b583cad3c044d780c">More...</a><br /></td></tr>
<tr class="separator:aa19f446296aa429b583cad3c044d780c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90ff1195a338ddbf8e8654b6efc9b0b7"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a90ff1195a338ddbf8e8654b6efc9b0b7">removeExecInput</a> (size_t idx)</td></tr>
<tr class="memdesc:a90ff1195a338ddbf8e8654b6efc9b0b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an exec input from the argument list If idx is out of range, this function does nothing.  <a href="#a90ff1195a338ddbf8e8654b6efc9b0b7">More...</a><br /></td></tr>
<tr class="separator:a90ff1195a338ddbf8e8654b6efc9b0b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a26a88fe7adb30077c54732af11136685"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a26a88fe7adb30077c54732af11136685">renameExecInput</a> (size_t idx, std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>)</td></tr>
<tr class="memdesc:a26a88fe7adb30077c54732af11136685"><td class="mdescLeft">&#160;</td><td class="mdescRight">Change the name for an exec input If idx is out of range, this function does nothing.  <a href="#a26a88fe7adb30077c54732af11136685">More...</a><br /></td></tr>
<tr class="separator:a26a88fe7adb30077c54732af11136685"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Exec output modifiers</div></td></tr>
<tr><td colspan="2"><div class="groupText"><p>Getters/modifers for exec output </p>
</div></td></tr>
<tr class="memitem:ab47bbbd84f14240b824c1a780b125207"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; std::string &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#ab47bbbd84f14240b824c1a780b125207">execOutputs</a> () const</td></tr>
<tr class="memdesc:ab47bbbd84f14240b824c1a780b125207"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the function exec outputs.  <a href="#ab47bbbd84f14240b824c1a780b125207">More...</a><br /></td></tr>
<tr class="separator:ab47bbbd84f14240b824c1a780b125207"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0ae483cab804b1128d14ff2560818f82"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a0ae483cab804b1128d14ff2560818f82">addExecOutput</a> (std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, size_t addBefore=(std::numeric_limits&lt; size_t &gt;::max)())</td></tr>
<tr class="memdesc:a0ae483cab804b1128d14ff2560818f82"><td class="mdescLeft">&#160;</td><td class="mdescRight">Add an exec output to the end of the argument list.  <a href="#a0ae483cab804b1128d14ff2560818f82">More...</a><br /></td></tr>
<tr class="separator:a0ae483cab804b1128d14ff2560818f82"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:af452babcc5f350cf185b3b5f98151e14"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#af452babcc5f350cf185b3b5f98151e14">removeExecOutput</a> (size_t idx)</td></tr>
<tr class="memdesc:af452babcc5f350cf185b3b5f98151e14"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove an exec output from the argument list If idx is out of range, this function does nothing.  <a href="#af452babcc5f350cf185b3b5f98151e14">More...</a><br /></td></tr>
<tr class="separator:af452babcc5f350cf185b3b5f98151e14"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a3c10d56dd68371400993b4a3c120f585"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a3c10d56dd68371400993b4a3c120f585">renameExecOutput</a> (size_t idx, std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>)</td></tr>
<tr class="memdesc:a3c10d56dd68371400993b4a3c120f585"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename an exec output If idx is out of range, this function does nothing.  <a href="#a3c10d56dd68371400993b4a3c120f585">More...</a><br /></td></tr>
<tr class="separator:a3c10d56dd68371400993b4a3c120f585"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr><td colspan="2"><div class="groupHeader">Local Variable Manipulation functions</div></td></tr>
<tr class="memitem:a44f8f791775e4878b6bde37140cd131d"><td class="memItemLeft" align="right" valign="top">const std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt; &amp;&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a44f8f791775e4878b6bde37140cd131d">localVariables</a> () const</td></tr>
<tr class="memdesc:a44f8f791775e4878b6bde37140cd131d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get the local variables.  <a href="#a44f8f791775e4878b6bde37140cd131d">More...</a><br /></td></tr>
<tr class="separator:a44f8f791775e4878b6bde37140cd131d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a0123fb77fb0a19ea18163afb88f7687b"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a0123fb77fb0a19ea18163afb88f7687b">localVariableFromName</a> (boost::string_view <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>) const</td></tr>
<tr class="memdesc:a0123fb77fb0a19ea18163afb88f7687b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Get a local varaible by name.  <a href="#a0123fb77fb0a19ea18163afb88f7687b">More...</a><br /></td></tr>
<tr class="separator:a0123fb77fb0a19ea18163afb88f7687b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a9a3b003e74692f5d0aa474d28c0dd23d"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a9a3b003e74692f5d0aa474d28c0dd23d">getOrCreateLocalVariable</a> (std::string <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, <a class="el" href="structchi_1_1DataType.html">DataType</a> type, bool *inserted=nullptr)</td></tr>
<tr class="memdesc:a9a3b003e74692f5d0aa474d28c0dd23d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Create a new local varaible in the module.  <a href="#a9a3b003e74692f5d0aa474d28c0dd23d">More...</a><br /></td></tr>
<tr class="separator:a9a3b003e74692f5d0aa474d28c0dd23d"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a81f2a4203abba46ff8494a6a7e192094"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a81f2a4203abba46ff8494a6a7e192094">removeLocalVariable</a> (boost::string_view <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>)</td></tr>
<tr class="memdesc:a81f2a4203abba46ff8494a6a7e192094"><td class="mdescLeft">&#160;</td><td class="mdescRight">Remove a local variable from the function by name.  <a href="#a81f2a4203abba46ff8494a6a7e192094">More...</a><br /></td></tr>
<tr class="separator:a81f2a4203abba46ff8494a6a7e192094"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a60bc423cb4fed3605a446da112949483"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a60bc423cb4fed3605a446da112949483">renameLocalVariable</a> (std::string oldName, std::string newName)</td></tr>
<tr class="memdesc:a60bc423cb4fed3605a446da112949483"><td class="mdescLeft">&#160;</td><td class="mdescRight">Rename a local variable.  <a href="#a60bc423cb4fed3605a446da112949483">More...</a><br /></td></tr>
<tr class="separator:a60bc423cb4fed3605a446da112949483"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a4c38679ec5e727bfb71c8eaaa5a8ca1a"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structchi_1_1GraphFunction.html#a4c38679ec5e727bfb71c8eaaa5a8ca1a">retypeLocalVariable</a> (boost::string_view <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f">name</a>, <a class="el" href="structchi_1_1DataType.html">DataType</a> newType)</td></tr>
<tr class="memdesc:a4c38679ec5e727bfb71c8eaaa5a8ca1a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Set a new type to a local variable.  <a href="#a4c38679ec5e727bfb71c8eaaa5a8ca1a">More...</a><br /></td></tr>
<tr class="separator:a4c38679ec5e727bfb71c8eaaa5a8ca1a"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>this is an AST-like representation of a function in a graph It is used for IDE-like behavior, codegen, and JSON generation. </p>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00023">23</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>
</div><h2 class="groupheader">Constructor &amp; Destructor Documentation</h2>
<a id="a44459c33f26a8f4d9529619991988100"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44459c33f26a8f4d9529619991988100">&#9670;&nbsp;</a></span>GraphFunction()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">chi::GraphFunction::GraphFunction </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structchi_1_1GraphModule.html">GraphModule</a> &amp;&#160;</td>
          <td class="paramname"><em>mod</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt;&#160;</td>
          <td class="paramname"><em>dataIns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; <a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> &gt;&#160;</td>
          <td class="paramname"><em>dataOuts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt;&#160;</td>
          <td class="paramname"><em>execIns</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::vector&lt; std::string &gt;&#160;</td>
          <td class="paramname"><em>execOuts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Construct a graph&ndash;don't call this directly use GraphModule::getorCreateFunction. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">mod</td><td>The owning module </td></tr>
    <tr><td class="paramname">name</td><td>The name of the function </td></tr>
    <tr><td class="paramname">dataIns</td><td>The data inputs to the function </td></tr>
    <tr><td class="paramname">dataOuts</td><td>The data outputs of the function </td></tr>
    <tr><td class="paramname">execIns</td><td>The exec inputs to the function </td></tr>
    <tr><td class="paramname">execOuts</td><td>The exec outputs to the function </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00025">25</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>.</p>
<div id="dynsection-0" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-0-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-0-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-0-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a44459c33f26a8f4d9529619991988100_cgraph.svg" width="100%" height="587"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<h2 class="groupheader">Member Function Documentation</h2>
<a id="ab2b04efa795ef12d628f13ff55e55043"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab2b04efa795ef12d628f13ff55e55043">&#9670;&nbsp;</a></span>addDataInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::addDataInput </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structchi_1_1DataType.html">DataType</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>addBefore</em> = <code>(std::numeric_limits&lt;size_t&gt;::max)()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an input to the end of the argument list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The new input type </td></tr>
    <tr><td class="paramname">name</td><td>The name of the input (just for documentation) </td></tr>
    <tr><td class="paramname">addBefore</td><td>The input ID to add before, default is end </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00212">212</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>.</p>
<div id="dynsection-1" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-1-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-1-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-1-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab2b04efa795ef12d628f13ff55e55043_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-2" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-2-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-2-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-2-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab2b04efa795ef12d628f13ff55e55043_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aef07b609586e0961cc16d0000362470d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aef07b609586e0961cc16d0000362470d">&#9670;&nbsp;</a></span>addDataOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::addDataOutput </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structchi_1_1DataType.html">DataType</a> &amp;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>addBefore</em> = <code>(std::numeric_limits&lt;size_t&gt;::max)()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an data output to the end of the argument list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">type</td><td>The new output type </td></tr>
    <tr><td class="paramname">name</td><td>The name of the output (just for documentation) </td></tr>
    <tr><td class="paramname">addBefore</td><td>The output to add before, default is end </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00248">248</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>.</p>
<div id="dynsection-3" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-3-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-3-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-3-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aef07b609586e0961cc16d0000362470d_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-4" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-4-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-4-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-4-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aef07b609586e0961cc16d0000362470d_icgraph.svg" width="100%" height="532"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aa19f446296aa429b583cad3c044d780c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa19f446296aa429b583cad3c044d780c">&#9670;&nbsp;</a></span>addExecInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::addExecInput </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>addBefore</em> = <code>(std::numeric_limits&lt;size_t&gt;::max)()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an exec input to the end of the argument list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the input (just for documentation) </td></tr>
    <tr><td class="paramname">addBefore</td><td>the input to add after </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00299">299</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00216">execInputs()</a>.</p>
<div id="dynsection-5" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-5-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-5-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-5-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa19f446296aa429b583cad3c044d780c_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-6" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-6-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-6-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-6-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa19f446296aa429b583cad3c044d780c_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a0ae483cab804b1128d14ff2560818f82"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0ae483cab804b1128d14ff2560818f82">&#9670;&nbsp;</a></span>addExecOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::addExecOutput </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>addBefore</em> = <code>(std::numeric_limits&lt;size_t&gt;::max)()</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add an exec output to the end of the argument list. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the output (just for documentation) </td></tr>
    <tr><td class="paramname">addBefore</td><td>The output to add after </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00328">328</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00241">execOutputs()</a>.</p>
<div id="dynsection-7" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-7-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-7-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-7-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0ae483cab804b1128d14ff2560818f82_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-8" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-8-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-8-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-8-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0ae483cab804b1128d14ff2560818f82_icgraph.svg" width="100%" height="471"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aca401237496ae311e43c7a43519e4720"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aca401237496ae311e43c7a43519e4720">&#9670;&nbsp;</a></span>context()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Context.html">Context</a>&amp; chi::GraphFunction::context </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the context. </p>
<dl class="section return"><dt>Returns</dt><dd>The context </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00310">310</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00174">createExitNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00281">functionType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00100">insertNode()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00232">chi::jsonToGraphFunction()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00506">setName()</a>.</p>
<div id="dynsection-9" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-9-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-9-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-9-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aca401237496ae311e43c7a43519e4720_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a1d740529978bdf31284b6b815ec0426b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a1d740529978bdf31284b6b815ec0426b">&#9670;&nbsp;</a></span>createEntryNodeType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::createEntryNodeType </td>
          <td>(</td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *&#160;</td>
          <td class="paramname"><em>toFill</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a fresh <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> for an entry. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">toFill</td><td>The <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> pointer to fill </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>toFill isn't null (the value the unique_ptr points to be can be null, but not the pointer to the unique_ptr) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00156">156</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00310">context()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00216">execInputs()</a>, and <a class="el" href="Context_8cpp_source.html#l00253">chi::Context::nodeTypeFromModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00192">getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00349">renameExecOutput()</a>.</p>
<div id="dynsection-10" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-10-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-10-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-10-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a1d740529978bdf31284b6b815ec0426b_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-11" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-11-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-11-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-11-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a1d740529978bdf31284b6b815ec0426b_icgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="af14ad950cfff4ad3091827f9b6ad1cd2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af14ad950cfff4ad3091827f9b6ad1cd2">&#9670;&nbsp;</a></span>createExitNodeType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::createExitNodeType </td>
          <td>(</td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt; *&#160;</td>
          <td class="paramname"><em>toFill</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a fresh <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> for an exit. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[out]</td><td class="paramname">toFill</td><td>The <a class="el" href="structchi_1_1NodeType.html" title="A generic node type. ">NodeType</a> pointer to fill </td></tr>
  </table>
  </dd>
</dl>
<dl class="section pre"><dt>Precondition</dt><dd>toFill isn't null (the value the unique_ptr points to be can be null, but not the pointer to the unique_ptr) </dd></dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00174">174</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00310">context()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00241">execOutputs()</a>, and <a class="el" href="Context_8cpp_source.html#l00253">chi::Context::nodeTypeFromModule()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00349">renameExecOutput()</a>.</p>
<div id="dynsection-12" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-12-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-12-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-12-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_af14ad950cfff4ad3091827f9b6ad1cd2_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-13" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-13-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-13-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-13-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_af14ad950cfff4ad3091827f9b6ad1cd2_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ab457f58fbb96c8089340b4ebd43cb633"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab457f58fbb96c8089340b4ebd43cb633">&#9670;&nbsp;</a></span>dataInputs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;<a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a>&gt;&amp; chi::GraphFunction::dataInputs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the function data inputs in the format {type, docstring}. </p>
<dl class="section return"><dt>Returns</dt><dd>The inputs </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00145">145</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00212">addDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00224">removeDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00232">renameDataInput()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00240">retypeDataInput()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00044">entryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00281">functionType()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00249">chi::validateFunctionEntryType()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00310">chi::validateFunctionMainSignature()</a>.</p>
<div id="dynsection-14" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-14-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-14-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-14-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab457f58fbb96c8089340b4ebd43cb633_cgraph.svg" width="551" height="248"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-15" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-15-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-15-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-15-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab457f58fbb96c8089340b4ebd43cb633_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ab0bf0d819ff062c01220614f617d5965"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab0bf0d819ff062c01220614f617d5965">&#9670;&nbsp;</a></span>dataOutputs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;<a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a>&gt;&amp; chi::GraphFunction::dataOutputs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the function data outputs in the format {type, docstring}. </p>
<dl class="section return"><dt>Returns</dt><dd>The outputs </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00180">180</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00248">addDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00260">removeDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00268">renameDataOutput()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00276">retypeDataOutput()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00174">createExitNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00281">functionType()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00281">chi::validateFunctionExitTypes()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00310">chi::validateFunctionMainSignature()</a>.</p>
<div id="dynsection-16" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-16-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-16-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-16-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab0bf0d819ff062c01220614f617d5965_cgraph.svg" width="558" height="248"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-17" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-17-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-17-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-17-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab0bf0d819ff062c01220614f617d5965_icgraph.svg" width="100%" height="532"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ad261ccd66a6fcbf6492cf6565e365d0e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad261ccd66a6fcbf6492cf6565e365d0e">&#9670;&nbsp;</a></span>description()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::string&amp; chi::GraphFunction::description </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the description of the function. </p>
<dl class="section return"><dt>Returns</dt><dd>The description </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00303">303</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>.</p>
<div id="dynsection-18" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-18-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-18-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-18-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ad261ccd66a6fcbf6492cf6565e365d0e_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ae47496f51bd5ba48bc0afd52f03ef722"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ae47496f51bd5ba48bc0afd52f03ef722">&#9670;&nbsp;</a></span>entryNode()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * chi::GraphFunction::entryNode </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the node with type lang:entry returns nullptr on failure Also returns nullptr if there are two entry nodes, which is illegal. </p>
<dl class="section return"><dt>Returns</dt><dd>the entry node </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00044">44</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00216">execInputs()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00192">getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00249">chi::validateFunctionEntryType()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00198">chi::validateFunctionNodeInputs()</a>.</p>
<div id="dynsection-19" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-19-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-19-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-19-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ae47496f51bd5ba48bc0afd52f03ef722_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-20" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-20-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-20-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-20-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ae47496f51bd5ba48bc0afd52f03ef722_icgraph.svg" width="100%" height="465"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a64fa4eceaf024d3ebf628fe15e7ca9be"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a64fa4eceaf024d3ebf628fe15e7ca9be">&#9670;&nbsp;</a></span>execInputs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;std::string&gt;&amp; chi::GraphFunction::execInputs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the function exec inputs. </p>
<dl class="section return"><dt>Returns</dt><dd>The exec outputs </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00216">216</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00299">addExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00312">removeExecInput()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00320">renameExecInput()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00044">entryNode()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00310">chi::validateFunctionMainSignature()</a>.</p>
<div id="dynsection-21" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-21-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-21-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-21-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a64fa4eceaf024d3ebf628fe15e7ca9be_cgraph.svg" width="551" height="183"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-22" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-22-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-22-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-22-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a64fa4eceaf024d3ebf628fe15e7ca9be_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ab47bbbd84f14240b824c1a780b125207"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ab47bbbd84f14240b824c1a780b125207">&#9670;&nbsp;</a></span>execOutputs()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;std::string&gt;&amp; chi::GraphFunction::execOutputs </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the function exec outputs. </p>
<dl class="section return"><dt>Returns</dt><dd>The exec outputs </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00241">241</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00328">addExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00341">removeExecOutput()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00349">renameExecOutput()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00174">createExitNodeType()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00310">chi::validateFunctionMainSignature()</a>.</p>
<div id="dynsection-23" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-23-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-23-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-23-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab47bbbd84f14240b824c1a780b125207_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-24" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-24-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-24-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-24-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ab47bbbd84f14240b824c1a780b125207_icgraph.svg" width="100%" height="476"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aa2c89c659786c9928a616a81dab267e4"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa2c89c659786c9928a616a81dab267e4">&#9670;&nbsp;</a></span>functionType()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">llvm::FunctionType * chi::GraphFunction::functionType </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the LLVM function type for the function. </p>
<dl class="section return"><dt>Returns</dt><dd>The function type </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00281">281</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00310">context()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>.</p>
<div id="dynsection-25" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-25-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-25-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-25-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa2c89c659786c9928a616a81dab267e4_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-26" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-26-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-26-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-26-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa2c89c659786c9928a616a81dab267e4_icgraph.svg" width="323" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="a9a3b003e74692f5d0aa474d28c0dd23d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a9a3b003e74692f5d0aa474d28c0dd23d">&#9670;&nbsp;</a></span>getOrCreateLocalVariable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> chi::GraphFunction::getOrCreateLocalVariable </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1DataType.html">DataType</a>&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool *&#160;</td>
          <td class="paramname"><em>inserted</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Create a new local varaible in the module. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the local variable </td></tr>
    <tr><td class="paramname">type</td><td>The type of the local </td></tr>
    <tr><td class="paramname">inserted</td><td>True if the local varaiable was new, optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The new local variable or the already existing one </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00387">387</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00379">localVariableFromName()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonDeserializer_8cpp_source.html#l00232">chi::jsonToGraphFunction()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00265">localVariables()</a>.</p>
<div id="dynsection-27" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-27-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-27-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-27-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a9a3b003e74692f5d0aa474d28c0dd23d_cgraph.svg" width="418" height="183"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-28" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-28-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-28-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-28-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a9a3b003e74692f5d0aa474d28c0dd23d_icgraph.svg" width="100%" height="410"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a0e722c9bae3101c4bb54ad9baae6f841"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0e722c9bae3101c4bb54ad9baae6f841">&#9670;&nbsp;</a></span>getOrInsertEntryNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::getOrInsertEntryNode </td>
          <td>(</td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::uuids::uuid&#160;</td>
          <td class="paramname"><em>id</em> = <code>boost::uuids::random_generator()()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **&#160;</td>
          <td class="paramname"><em>toFill</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Creates an entry node if it doesn't already exist, else just return it. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>The x coordinate of the new entry, or changes the existing entry node to be at this X location </td></tr>
    <tr><td class="paramname">y</td><td>The y coordinate of the new entry, or changes the existing entry node to be at this Y location </td></tr>
    <tr><td class="paramname">id</td><td>The ID of the node, disregarded if there is already an entry </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">toFill</td><td>The NodeInstance* to fill, optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00192">192</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00044">entryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">insertNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>.</p>
<div id="dynsection-29" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-29-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-29-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-29-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0e722c9bae3101c4bb54ad9baae6f841_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-30" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-30-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-30-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-30-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0e722c9bae3101c4bb54ad9baae6f841_icgraph.svg" width="347" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="ac75470b92fcf30495c7daab64d999ed8"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ac75470b92fcf30495c7daab64d999ed8">&#9670;&nbsp;</a></span>insertNode() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::insertNode </td>
          <td>(</td>
          <td class="paramtype">std::unique_ptr&lt; <a class="el" href="structchi_1_1NodeType.html">NodeType</a> &gt;&#160;</td>
          <td class="paramname"><em>type</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::uuids::uuid&#160;</td>
          <td class="paramname"><em>id</em> = <code>boost::uuids::random_generator()()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **&#160;</td>
          <td class="paramname"><em>toFill</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a node to the graph. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramdir">[in]</td><td class="paramname">type</td><td>The type of the node </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">x</td><td>The x location of the node </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">y</td><td>The y location of the node </td></tr>
    <tr><td class="paramdir">[in]</td><td class="paramname">id</td><td>The node ID </td></tr>
    <tr><td class="paramdir">[out]</td><td class="paramname">toFill</td><td>The nodeInstance to fill to, optional. </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00064">64</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="Result_8cpp_source.html#l00052">chi::Result::addEntry()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00051">nodes()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00192">getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00100">insertNode()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00232">chi::jsonToGraphFunction()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>.</p>
<div id="dynsection-31" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-31-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-31-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-31-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ac75470b92fcf30495c7daab64d999ed8_cgraph.svg" width="582" height="235"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-32" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-32-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-32-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-32-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ac75470b92fcf30495c7daab64d999ed8_icgraph.svg" width="100%" height="485"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="abcd2e1de52782e5a16aca65b9af328ca"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abcd2e1de52782e5a16aca65b9af328ca">&#9670;&nbsp;</a></span>insertNode() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::insertNode </td>
          <td>(</td>
          <td class="paramtype">const boost::filesystem::path &amp;&#160;</td>
          <td class="paramname"><em>moduleName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>typeName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const nlohmann::json &amp;&#160;</td>
          <td class="paramname"><em>typeJSON</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::uuids::uuid&#160;</td>
          <td class="paramname"><em>id</em> = <code>boost::uuids::random_generator()()</code>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> **&#160;</td>
          <td class="paramname"><em>toFill</em> = <code>nullptr</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Add a node to the graph using module, type, and json. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">moduleName</td><td>The name of the module that typeName is in </td></tr>
    <tr><td class="paramname">typeName</td><td>The name of the node type in the module with the name moduleName </td></tr>
    <tr><td class="paramname">typeJSON</td><td>The JSON to be passed to create the type </td></tr>
    <tr><td class="paramname">x</td><td>The x location of the node </td></tr>
    <tr><td class="paramname">y</td><td>The y location of the node </td></tr>
    <tr><td class="paramname">id</td><td>The node ID </td></tr>
  </table>
  </dd>
</dl>
<dl class="retval"><dt>Return values</dt><dd>
  <table class="retval">
    <tr><td class="paramname">toFill</td><td>The NodeInstance* to fill to, optional </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1Result.html" title="The result object, used for identifiying errors with good diagnostics. ">Result</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00100">100</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00310">context()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">insertNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="Context_8cpp_source.html#l00253">chi::Context::nodeTypeFromModule()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>
<div id="dynsection-33" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-33-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-33-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-33-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_abcd2e1de52782e5a16aca65b9af328ca_cgraph.svg" width="100%" height="530"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a0123fb77fb0a19ea18163afb88f7687b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0123fb77fb0a19ea18163afb88f7687b">&#9670;&nbsp;</a></span>localVariableFromName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a> chi::GraphFunction::localVariableFromName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a local varaible by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the variable </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The local or {} if not found </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00379">379</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00387">getOrCreateLocalVariable()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00265">localVariables()</a>.</p>
<div id="dynsection-34" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-34-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-34-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-34-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0123fb77fb0a19ea18163afb88f7687b_icgraph.svg" width="100%" height="410"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a44f8f791775e4878b6bde37140cd131d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a44f8f791775e4878b6bde37140cd131d">&#9670;&nbsp;</a></span>localVariables()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::vector&lt;<a class="el" href="structchi_1_1NamedDataType.html">NamedDataType</a>&gt;&amp; chi::GraphFunction::localVariables </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the local variables. </p>
<dl class="section return"><dt>Returns</dt><dd>The local variables </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00265">265</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00387">getOrCreateLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00379">localVariableFromName()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00405">removeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00428">renameLocalVariable()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00469">retypeLocalVariable()</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>.</p>
<div id="dynsection-35" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-35-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-35-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-35-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a44f8f791775e4878b6bde37140cd131d_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-36" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-36-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-36-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-36-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a44f8f791775e4878b6bde37140cd131d_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a0564412e260698bdb3872d3d12dfc3bc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a0564412e260698bdb3872d3d12dfc3bc">&#9670;&nbsp;</a></span>module()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1GraphModule.html">GraphModule</a>&amp; chi::GraphFunction::module </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the <a class="el" href="structchi_1_1GraphModule.html" title="Module that holds graph functions. ">GraphModule</a> that contains this <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1GraphModule.html" title="Module that holds graph functions. ">GraphModule</a>. </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00328">328</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00212">addDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00248">addDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00299">addExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00328">addExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00387">getOrCreateLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00192">getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">insertNode()</a>, <a class="el" href="Debugger_8cpp_source.html#l00244">chi::Debugger::nodeFromFrame()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00355">chi::parseColonPair()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00530">qualifiedName()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00224">removeDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00260">removeDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00312">removeExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00341">removeExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00405">removeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00114">removeNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00232">renameDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00268">renameDataOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00320">renameExecInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00349">renameExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00428">renameLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00240">retypeDataInput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00469">retypeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00506">setName()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00015">chi::validateFunction()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00031">chi::validateFunctionConnectionsAreTwoWay()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00249">chi::validateFunctionEntryType()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00222">chi::validateFunctionExecOutputs()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00198">chi::validateFunctionNodeInputs()</a>.</p>
<div id="dynsection-37" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-37-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-37-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-37-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a0564412e260698bdb3872d3d12dfc3bc_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a89069f6e08f71cfbafb245ea16c8d69f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a89069f6e08f71cfbafb245ea16c8d69f">&#9670;&nbsp;</a></span>name()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::string chi::GraphFunction::name </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the name of the function. </p>
<dl class="section return"><dt>Returns</dt><dd>The name of the function </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00313">313</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00530">qualifiedName()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00506">setName()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00025">GraphFunction()</a>, <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00355">chi::parseColonPair()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00530">qualifiedName()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00581">chi::GraphModule::removeFunction()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00405">removeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00506">setName()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00015">chi::validateFunction()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00031">chi::validateFunctionConnectionsAreTwoWay()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00249">chi::validateFunctionEntryType()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00222">chi::validateFunctionExecOutputs()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00198">chi::validateFunctionNodeInputs()</a>.</p>
<div id="dynsection-38" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-38-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-38-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-38-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a89069f6e08f71cfbafb245ea16c8d69f_cgraph.svg" width="100%" height="587"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-39" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-39-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-39-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-39-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a89069f6e08f71cfbafb245ea16c8d69f_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="acb3281f6b313b7070efb0ee84b937523"></a>
<h2 class="memtitle"><span class="permalink"><a href="#acb3281f6b313b7070efb0ee84b937523">&#9670;&nbsp;</a></span>nodeByID()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * chi::GraphFunction::nodeByID </td>
          <td>(</td>
          <td class="paramtype">const boost::uuids::uuid &amp;&#160;</td>
          <td class="paramname"><em>id</em></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get a node with a given ID. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">id</td><td>The ID of the node </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The <a class="el" href="structchi_1_1NodeInstance.html" title="An instance of a node. ">NodeInstance</a>, or nullptr if the ID wasn't found </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00038">38</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00051">nodes()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>.</p>
<div id="dynsection-40" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-40-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-40-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-40-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_acb3281f6b313b7070efb0ee84b937523_cgraph.svg" width="323" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-41" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-41-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-41-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-41-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_acb3281f6b313b7070efb0ee84b937523_icgraph.svg" width="323" height="52"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>

</div>
</div>
<a id="aa5985d96d7564d7ee7f240fdb02b41a6"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa5985d96d7564d7ee7f240fdb02b41a6">&#9670;&nbsp;</a></span>nodes() <span class="overload">[1/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::unordered_map&lt;boost::uuids::uuid, std::unique_ptr&lt;<a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a>&gt; &gt;&amp; chi::GraphFunction::nodes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the nodes in the function Usually called by connectData or connectExec or <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>The nodes, mapped by id, value </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00051">51</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonSerializer_8cpp_source.html#l00015">chi::graphFunctionToJson()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">insertNode()</a>, <a class="el" href="JsonDeserializer_8cpp_source.html#l00232">chi::jsonToGraphFunction()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00038">nodeByID()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00114">removeNode()</a>, <a class="el" href="FunctionValidator_8cpp_source.html#l00031">chi::validateFunctionConnectionsAreTwoWay()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00222">chi::validateFunctionExecOutputs()</a>.</p>
<div id="dynsection-42" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-42-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-42-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-42-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa5985d96d7564d7ee7f240fdb02b41a6_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a900c0b670ad04a76b6add803ade7ae0d"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a900c0b670ad04a76b6add803ade7ae0d">&#9670;&nbsp;</a></span>nodes() <span class="overload">[2/2]</span></h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">const std::unordered_map&lt;boost::uuids::uuid, std::unique_ptr&lt;<a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a>&gt; &gt;&amp; chi::GraphFunction::nodes </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Get the nodes in the function Usually called by connectData or connectExec or <a class="el" href="structchi_1_1GraphFunction.html" title="this is an AST-like representation of a function in a graph It is used for IDE-like behavior...">GraphFunction</a>. </p>
<dl class="section return"><dt>Returns</dt><dd>The nodes, mapped by id, value </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00055">55</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00174">createExitNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00044">entryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00281">functionType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00192">getOrInsertEntryNode()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00064">insertNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00038">nodeByID()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00114">removeNode()</a>.</p>
<div id="dynsection-43" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-43-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-43-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-43-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a900c0b670ad04a76b6add803ade7ae0d_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a56ba667341ecc6fce1e290cce6aedf53"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a56ba667341ecc6fce1e290cce6aedf53">&#9670;&nbsp;</a></span>nodesWithType()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt; chi::GraphFunction::nodesWithType </td>
          <td>(</td>
          <td class="paramtype">const boost::filesystem::path &amp;&#160;</td>
          <td class="paramname"><em>module</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td> const</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">noexcept</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets the nodes with a given type. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">module</td><td>The module the type is in </td></tr>
    <tr><td class="paramname">name</td><td>The name of the type </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>A vector of <a class="el" href="structchi_1_1NodeInstance.html" title="An instance of a node. ">NodeInstance</a> </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00087">87</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8cpp_source.html#l00044">entryNode()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00405">removeLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00349">renameExecOutput()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00428">renameLocalVariable()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00469">retypeLocalVariable()</a>, and <a class="el" href="FunctionValidator_8cpp_source.html#l00281">chi::validateFunctionExitTypes()</a>.</p>
<div id="dynsection-44" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-44-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-44-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-44-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a56ba667341ecc6fce1e290cce6aedf53_cgraph.svg" width="100%" height="574"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-45" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-45-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-45-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-45-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a56ba667341ecc6fce1e290cce6aedf53_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="ad739c826ed87035857193995c23cabe2"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ad739c826ed87035857193995c23cabe2">&#9670;&nbsp;</a></span>qualifiedName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::string chi::GraphFunction::qualifiedName </td>
          <td>(</td>
          <td class="paramname"></td><td>)</td>
          <td> const</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Get the qualified name of the function Same as <a class="el" href="structchi_1_1GraphFunction.html#a0564412e260698bdb3872d3d12dfc3bc" title="Get the GraphModule that contains this GraphFunction. ">module()</a>.fullName() + ":" + <a class="el" href="structchi_1_1GraphFunction.html#a89069f6e08f71cfbafb245ea16c8d69f" title="Get the name of the function. ">name()</a>;. </p>
<dl class="section return"><dt>Returns</dt><dd>The qualified name </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00530">530</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="ChiModule_8hpp_source.html#l00061">chi::ChiModule::fullName()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00469">retypeLocalVariable()</a>.</p>
<div id="dynsection-46" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-46-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-46-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-46-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ad739c826ed87035857193995c23cabe2_cgraph.svg" width="100%" height="551"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-47" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-47-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-47-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-47-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_ad739c826ed87035857193995c23cabe2_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="abac77d34a4bf04d7c409655b0b3e89d0"></a>
<h2 class="memtitle"><span class="permalink"><a href="#abac77d34a4bf04d7c409655b0b3e89d0">&#9670;&nbsp;</a></span>removeDataInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::removeDataInput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an input from the argument list Also removes invalid connections If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to delete </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00224">224</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>.</p>
<div id="dynsection-48" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-48-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-48-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-48-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_abac77d34a4bf04d7c409655b0b3e89d0_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-49" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-49-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-49-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-49-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_abac77d34a4bf04d7c409655b0b3e89d0_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a65db0e7550128544600ebb1fff4bd69c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a65db0e7550128544600ebb1fff4bd69c">&#9670;&nbsp;</a></span>removeDataOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::removeDataOutput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an data output from the argument list Also removes invalid connections If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to delete </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00260">260</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>.</p>
<div id="dynsection-50" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-50-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-50-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-50-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a65db0e7550128544600ebb1fff4bd69c_cgraph.svg" width="378" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-51" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-51-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-51-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-51-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a65db0e7550128544600ebb1fff4bd69c_icgraph.svg" width="100%" height="546"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a90ff1195a338ddbf8e8654b6efc9b0b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a90ff1195a338ddbf8e8654b6efc9b0b7">&#9670;&nbsp;</a></span>removeExecInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::removeExecInput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an exec input from the argument list If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to delete </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00312">312</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00216">execInputs()</a>.</p>
<div id="dynsection-52" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-52-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-52-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-52-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a90ff1195a338ddbf8e8654b6efc9b0b7_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-53" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-53-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-53-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-53-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a90ff1195a338ddbf8e8654b6efc9b0b7_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="af452babcc5f350cf185b3b5f98151e14"></a>
<h2 class="memtitle"><span class="permalink"><a href="#af452babcc5f350cf185b3b5f98151e14">&#9670;&nbsp;</a></span>removeExecOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::removeExecOutput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove an exec output from the argument list If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to delete </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00341">341</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00241">execOutputs()</a>.</p>
<div id="dynsection-54" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-54-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-54-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-54-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_af452babcc5f350cf185b3b5f98151e14_cgraph.svg" width="382" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-55" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-55-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-55-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-55-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_af452babcc5f350cf185b3b5f98151e14_icgraph.svg" width="100%" height="476"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a81f2a4203abba46ff8494a6a7e192094"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a81f2a4203abba46ff8494a6a7e192094">&#9670;&nbsp;</a></span>removeLocalVariable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool chi::GraphFunction::removeLocalVariable </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a local variable from the function by name. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the local variable to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>True if a local was actually removed, false if no local by that name existed </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00405">405</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00114">removeNode()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00265">localVariables()</a>.</p>
<div id="dynsection-56" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-56-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-56-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-56-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a81f2a4203abba46ff8494a6a7e192094_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-57" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-57-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-57-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-57-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a81f2a4203abba46ff8494a6a7e192094_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a2248f5089ddc01a46b9ba4129925a44c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a2248f5089ddc01a46b9ba4129925a44c">&#9670;&nbsp;</a></span>removeNode()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structchi_1_1Result.html">Result</a> chi::GraphFunction::removeNode </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> &amp;&#160;</td>
          <td class="paramname"><em>nodeToRemove</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Remove a node from the function. </p>
<p>Also disconnect it's connections. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">nodeToRemove</td><td>The node to remove </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>The result </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00114">114</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="NodeInstance_8cpp_source.html#l00229">chi::disconnectData()</a>, <a class="el" href="NodeInstance_8cpp_source.html#l00294">chi::disconnectExec()</a>, <a class="el" href="NodeInstance_8hpp_source.html#l00064">chi::NodeInstance::id()</a>, <a class="el" href="NodeInstance_8hpp_source.html#l00077">chi::NodeInstance::inputDataConnections</a>, <a class="el" href="NodeInstance_8hpp_source.html#l00074">chi::NodeInstance::inputExecConnections</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00051">nodes()</a>, <a class="el" href="NodeInstance_8hpp_source.html#l00083">chi::NodeInstance::outputDataConnections</a>, <a class="el" href="NodeInstance_8hpp_source.html#l00080">chi::NodeInstance::outputExecConnections</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00055">nodes()</a>, and <a class="el" href="GraphFunction_8cpp_source.html#l00405">removeLocalVariable()</a>.</p>
<div id="dynsection-58" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-58-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-58-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-58-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a2248f5089ddc01a46b9ba4129925a44c_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-59" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-59-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-59-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-59-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a2248f5089ddc01a46b9ba4129925a44c_icgraph.svg" width="100%" height="388"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a4bb426c921d46bbd8cbf237d716bc1c5"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4bb426c921d46bbd8cbf237d716bc1c5">&#9670;&nbsp;</a></span>renameDataInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::renameDataInput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>newName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rename a data input This also updates the entry node If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to rename </td></tr>
    <tr><td class="paramname">newName</td><td>The new name </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00232">232</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>.</p>
<div id="dynsection-60" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-60-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-60-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-60-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a4bb426c921d46bbd8cbf237d716bc1c5_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-61" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-61-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-61-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-61-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a4bb426c921d46bbd8cbf237d716bc1c5_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a8b31017553adfc52ad6140868c328fbd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a8b31017553adfc52ad6140868c328fbd">&#9670;&nbsp;</a></span>renameDataOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::renameDataOutput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>newName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Modify an data output (change it's type and docstring) </p>
<p>Rename a data output This also updates all exit nodes If idx is out of range, this function does nothing. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to rename </td></tr>
    <tr><td class="paramname">newName</td><td>The new name </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00268">268</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>.</p>
<div id="dynsection-62" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-62-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-62-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-62-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a8b31017553adfc52ad6140868c328fbd_cgraph.svg" width="378" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-63" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-63-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-63-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-63-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a8b31017553adfc52ad6140868c328fbd_icgraph.svg" width="100%" height="546"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a26a88fe7adb30077c54732af11136685"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a26a88fe7adb30077c54732af11136685">&#9670;&nbsp;</a></span>renameExecInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::renameExecInput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change the name for an exec input If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to change </td></tr>
    <tr><td class="paramname">name</td><td>The new name. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00320">320</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00216">execInputs()</a>.</p>
<div id="dynsection-64" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-64-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-64-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-64-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a26a88fe7adb30077c54732af11136685_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-65" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-65-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-65-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-65-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a26a88fe7adb30077c54732af11136685_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a3c10d56dd68371400993b4a3c120f585"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a3c10d56dd68371400993b4a3c120f585">&#9670;&nbsp;</a></span>renameExecOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::renameExecOutput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>name</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rename an exec output If idx is out of range, this function does nothing. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to change </td></tr>
    <tr><td class="paramname">name</td><td>The new name. </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00349">349</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8cpp_source.html#l00156">createEntryNodeType()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00174">createExitNodeType()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00241">execOutputs()</a>.</p>
<div id="dynsection-66" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-66-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-66-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-66-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a3c10d56dd68371400993b4a3c120f585_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-67" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-67-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-67-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-67-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a3c10d56dd68371400993b4a3c120f585_icgraph.svg" width="100%" height="427"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a60bc423cb4fed3605a446da112949483"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a60bc423cb4fed3605a446da112949483">&#9670;&nbsp;</a></span>renameLocalVariable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::renameLocalVariable </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>oldName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>newName</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Rename a local variable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">oldName</td><td>The name of the existing local to change </td></tr>
    <tr><td class="paramname">newName</td><td>The new name of the local </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00428">428</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">chi::GraphModule::nodeTypeFromName()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00265">localVariables()</a>.</p>
<div id="dynsection-68" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-68-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-68-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-68-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a60bc423cb4fed3605a446da112949483_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-69" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-69-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-69-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-69-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a60bc423cb4fed3605a446da112949483_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="aa69ea8953b3c1b9da14a5364c747e49b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#aa69ea8953b3c1b9da14a5364c747e49b">&#9670;&nbsp;</a></span>retypeDataInput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::retypeDataInput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1DataType.html">DataType</a>&#160;</td>
          <td class="paramname"><em>newType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change the type of a data input This also updates the entry node and disconnects invalid connections. </p>
<p>If idx is out of range, this function does nothing. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to retype </td></tr>
    <tr><td class="paramname">newType</td><td>The new type </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00240">240</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00145">dataInputs()</a>.</p>
<div id="dynsection-70" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-70-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-70-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-70-content" class="dyncontent" style="display:none;">
<div class="center"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa69ea8953b3c1b9da14a5364c747e49b_cgraph.svg" width="371" height="118"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe>
</div>
</div>
<div id="dynsection-71" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-71-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-71-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-71-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_aa69ea8953b3c1b9da14a5364c747e49b_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a7772a0180716a2c29436d086d757743e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a7772a0180716a2c29436d086d757743e">&#9670;&nbsp;</a></span>retypeDataOutput()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::retypeDataOutput </td>
          <td>(</td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>idx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1DataType.html">DataType</a>&#160;</td>
          <td class="paramname"><em>newType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Change the type of a data output This also updates all exit nodes and disconnects invalid connections. </p>
<p>If idx is out of range, this function does nothing. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">idx</td><td>The index to retype </td></tr>
    <tr><td class="paramname">newType</td><td>The new type </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00276">276</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00180">dataOutputs()</a>.</p>
<div id="dynsection-72" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-72-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-72-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-72-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a7772a0180716a2c29436d086d757743e_icgraph.svg" width="100%" height="546"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a4c38679ec5e727bfb71c8eaaa5a8ca1a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a4c38679ec5e727bfb71c8eaaa5a8ca1a">&#9670;&nbsp;</a></span>retypeLocalVariable()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::retypeLocalVariable </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>name</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structchi_1_1DataType.html">DataType</a>&#160;</td>
          <td class="paramname"><em>newType</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set a new type to a local variable. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">name</td><td>The name of the local to change </td></tr>
    <tr><td class="paramname">newType</td><td>The new type </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00469">469</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00087">nodesWithType()</a>, <a class="el" href="GraphModule_8cpp_source.html#l00606">chi::GraphModule::nodeTypeFromName()</a>, <a class="el" href="DataType_8cpp_source.html#l00008">chi::DataType::qualifiedName()</a>, <a class="el" href="GraphFunction_8cpp_source.html#l00530">qualifiedName()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00265">localVariables()</a>.</p>
<div id="dynsection-73" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-73-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-73-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-73-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a4c38679ec5e727bfb71c8eaaa5a8ca1a_cgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-74" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-74-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-74-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-74-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a4c38679ec5e727bfb71c8eaaa5a8ca1a_icgraph.svg" width="100%" height="300"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="afdcae25278b1de714d77cf8051172cdf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#afdcae25278b1de714d77cf8051172cdf">&#9670;&nbsp;</a></span>setDescription()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void chi::GraphFunction::setDescription </td>
          <td>(</td>
          <td class="paramtype">std::string&#160;</td>
          <td class="paramname"><em>newDesc</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">inline</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Set the description of the function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newDesc</td><td>The new description </td></tr>
  </table>
  </dd>
</dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8hpp_source.html#l00299">299</a> of file <a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a>.</p>

<p class="reference">Referenced by <a class="el" href="JsonDeserializer_8cpp_source.html#l00121">chi::createGraphFunctionDeclarationFromJson()</a>.</p>
<div id="dynsection-75" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-75-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-75-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-75-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_afdcae25278b1de714d77cf8051172cdf_icgraph.svg" width="100%" height="385"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<a id="a27c87614be4357e97c1ececd2228f865"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a27c87614be4357e97c1ececd2228f865">&#9670;&nbsp;</a></span>setName()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">std::vector&lt; <a class="el" href="structchi_1_1NodeInstance.html">NodeInstance</a> * &gt; chi::GraphFunction::setName </td>
          <td>(</td>
          <td class="paramtype">boost::string_view&#160;</td>
          <td class="paramname"><em>newName</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">bool&#160;</td>
          <td class="paramname"><em>updateReferences</em> = <code>true</code>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Set the name of the function. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">newName</td><td>the new name for the function </td></tr>
    <tr><td class="paramname">updateReferences</td><td>should the references be updated? If true, all modules in the context will be scanned and updated </td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>All the updated nodes </dd></dl>

<p class="definition">Definition at line <a class="el" href="GraphFunction_8cpp_source.html#l00506">506</a> of file <a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a>.</p>

<p class="reference">References <a class="el" href="GraphFunction_8hpp_source.html#l00310">context()</a>, <a class="el" href="Context_8cpp_source.html#l00444">chi::Context::findInstancesOfType()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00328">module()</a>, <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>, <a class="el" href="Context_8cpp_source.html#l00253">chi::Context::nodeTypeFromModule()</a>, and <a class="el" href="ChiModule_8hpp_source.html#l00105">chi::ChiModule::updateLastEditTime()</a>.</p>

<p class="reference">Referenced by <a class="el" href="GraphFunction_8hpp_source.html#l00313">name()</a>.</p>
<div id="dynsection-76" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-76-trigger" src="closed.png" alt="+"/> Here is the call graph for this function:</div>
<div id="dynsection-76-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-76-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a27c87614be4357e97c1ececd2228f865_cgraph.svg" width="100%" height="574"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>
<div id="dynsection-77" onclick="return toggleVisibility(this)" class="dynheader closed" style="cursor:pointer;">
  <img id="dynsection-77-trigger" src="closed.png" alt="+"/> Here is the caller graph for this function:</div>
<div id="dynsection-77-summary" class="dynsummary" style="display:block;">
</div>
<div id="dynsection-77-content" class="dyncontent" style="display:none;">
<div class="center"><div class="zoom"><iframe scrolling="no" frameborder="0" src="structchi_1_1GraphFunction_a27c87614be4357e97c1ececd2228f865_icgraph.svg" width="100%" height="600"><p><b>This browser is not able to show SVG: try Firefox, Chrome, Safari, or Opera instead.</b></p></iframe></div>
</div>
</div>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>lib/core/include/chi/<a class="el" href="GraphFunction_8hpp_source.html">GraphFunction.hpp</a></li>
<li>lib/core/src/<a class="el" href="GraphFunction_8cpp_source.html">GraphFunction.cpp</a></li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespacechi.html">chi</a></li><li class="navelem"><a class="el" href="structchi_1_1GraphFunction.html">GraphFunction</a></li>
    <li class="footer">Generated on Sat Sep 16 2017 17:41:35 for chigraph by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
  </ul>
</div>
</body>
</html>
